<template>
  <div ref="container" :id="id" class="container"></div>
</template>

<script>
/*
  使用方法：
    1、echarts 不需要传递props；
      当父组件，接收到后端返回数据时，通过ref，调用 echartsInit(options)
*/
import * as echarts from 'echarts';

export default {

  data() {
    return {
      chart:null
    }
  },
  methods: {
    echartsInit(options){
      if(this.chart){
        this.chart.clear()
      }

      let chartDom = this.$refs['container']
      let chart = echarts.init(chartDom)
      this.chart = chart
      
      options && chart.setOption(options);
    },
  },
  props:{
    chartType:{
      type:String,
      default:'echarts'
    },
    id:{
      type:String,
      default:'container',
    }
  },
  beforeDestroy(){
    if (this.chartType == 'echarts') {
      this.chart.dispose()
    }else{
      console.log("未指定图标类型");
    }
  }
}
</script>

<style lang='less' scoped>
  .container{
    width: 100%;
    height: 100%;
  }
</style>